package com.cxh.supermarket.common.constant;

/**
 * 缓存组名称常量
 * <p>
 * key 格式为 cacheNames#ttl#maxIdleTime#maxSize
 * <p>
 * ttl 过期时间 如果设置为0则不过期 默认为0
 * maxIdleTime 最大空闲时间 根据LRU算法清理空闲数据 如果设置为0则不检测 默认为0
 * maxSize 组最大长度 根据LRU算法清理溢出数据 如果设置为0则无限长 默认为0
 * <p>
 * 例子: test#60s、test#0#60s、test#0#1m#1000、test#1h#0#500
 *
 * @author Lion Li
 */
public interface CacheNames {

  /**
   * 演示案例
   */
  String DEMO_CACHE = "demo:cache#60s#10m#20";

  /**
   * 系统配置
   */
  String SYS_CONFIG = "sys_config";

  /**
   * 数据字典
   */
  String SYS_DICT = "sys_dict";

  /**
   * 用户账户
   */
  String SYS_USER_NAME = "sys_user_name#30d";

  /**
   * 部门
   */
  String SYS_DEPT = "sys_dept#30d";

  /**
   * OSS内容
   */
  String SYS_OSS = "sys_oss#30d";

  /**
   * OSS配置
   */
  String SYS_OSS_CONFIG = "sys_oss_config";

  /**
   * 在线用户
   */
  String ONLINE_TOKEN = "online_tokens";

  /**
   * 工种标签
   */
  String JOB_TYPE_LABEL = "job_type_label";
  /**
   * 行政区划
   */
  String SYS_REGION = "sys_region";
  /**
   * 全部行政区划树形结构
   */
  String SYS_REGION_ALL = "sys_region_all";

  /**
   * 全部行政区划树形结构（没有全山东）
   */
  String SYS_REGION_ALL_A = "sys_region_all_a";

  /**
   * 行政区划名字
   */
  String SYS_REGION_NAME = "sys_region_name#30m";

  /**
   * 行政区划名字加横线
   */
  String SYS_REGION_NAME_UNDERLINE = "sys_region_name_underline#30m";

  /**
   * 行政区划坐标
   */
  String SYS_REGION_COORDINATE = "sys_region_coordinate#30m";

  /**
   * 业务信息工种标签
   */
  String BUSINESS_LABEL = "business_label#30m";

  /**
   * 小程序登陆响应信息缓存
   */
  String XCX_LOGIN_RESP = "xcx_login_resp#5m";

  /**
   * app微信登陆响应信息缓存
   */
  String APP_WX_LOGIN_RESP = "app_wx_login_resp#5m";

  /**
   * OSS附件
   */
  String SYS_OSS_ATTACH = "sys_oss_attach#24h#30m";

  /**
   * 资讯类型
   */
  String INFORMATION_TYPE = "information_type";

  /**
   * 订阅类型
   */
  String SUBSCRIBER_TYPE = "subscriber_type";

}
